package cn.fl.dk.web.vo;


import java.util.Date;

import cn.cmm.base.framework.utils.DateUtils;
import cn.cmm.base.framework.utils.DecimalUtils;
import cn.fl.dk.base.vo.BaseDkBillDtlVO;
import cn.lb.framework.poi.excel.annotation.Excel;

/**
 * @Description: 垫款单明细表
 */
@SuppressWarnings("serial")
public class DkBillDtlVO extends BaseDkBillDtlVO {
    /**
     * 起租日
     */
    private String lsDt;
    /**
     * 罚息
     */
    private Long penaltyAmount;

    /**
     * 问卷id
     */
    private Long questneId;
    
    /**
     * 合同id
     */
    private Long contractId;
    
    /**
     * 问卷结果
     */
    @Excel(name = "问卷结果")
    private String qtnRstCd;
    
    /**
     * 合同签署状态:0未签署，1签署成功，2签署失败,默认0
     */
    @Excel(name = "垫款合同签署状态", width = 12)
    private String signStsCd;
    
    /**
     * 推送时间
     */
    private Date pushTm;
    
    /**
     * 合同编号:DK+年月日（6位）+序列号（6位）
     */
    @Excel(name = "合同编号")
    private String contNo;

    /**
     * 逾期表（CAP_OVERDUE_INFO）：逾期天数
     */
    @Excel(name = "逾期天数")
    private Long overdueDay;
    
    /**
     * 逾期表（CAP_OVERDUE_INFO）：逾期金额（分，数据库存的）
     */
    private Long overdueAmount;
    
    /**
	 * 预计垫款/赎回金额
     */
	private Long estimateRedeemAmt;
	
	/**
	 * 实际垫款/赎回金额
     */
	private Long actualRedeemAmt;
	
    /**
     * 试卷类型：0 未出险试卷  1 已出险试卷（来源   支付表状态）
     */
    private String qtnType;
    
    /**
     * 签署时间
     */
    private Date signTm;

    /**
     * 赎回执行: 1.标记赎回 2.生成小贷账单
     */
    private String ransomExecCd;
    
    /**
     * 是否推送问卷  1 要推送，0 不用推送 
     */
    private String isPushQus;
    
    //----页面显示 --start-----
    @Excel(name = "推送时间")
    private String pushTmShow;
    
    @Excel(name = "签署时间")
    private String signTmShow;
    
    // (元) 
    @Excel(name = "预计垫款/赎回金额")
    private Double estimateRedeemAmtYuan;
    
    // (元) 
    @Excel(name = "实际垫款/赎回金额")
    private Double actualRedeemAmtYuan;
    
    // (元) 
    @Excel(name = "逾期金额")
    private Double overdueAmountYuan;
    //----页面显示 --end-----
    
    public Long getQuestneId() {
        return questneId;
    }

    public void setQuestneId(Long questneId) {
        this.questneId = questneId;
    }

    public Long getContractId() {
        return contractId;
    }

    public void setContractId(Long contractId) {
        this.contractId = contractId;
    }

    public String getQtnRstCd() {
        return qtnRstCd;
    }

    public void setQtnRstCd(String qtnRstCd) {
        this.qtnRstCd = qtnRstCd;
    }

    public String getSignStsCd() {
        return signStsCd;
    }

    public void setSignStsCd(String signStsCd) {
        this.signStsCd = signStsCd;
    }

    public Date getPushTm() {
        return pushTm;
    }

    public void setPushTm(Date pushTm) {
        this.pushTm = pushTm;
        if(pushTm!=null){
        	setPushTmShow(DateUtils.formatDateToString(pushTm, DateUtils.YYYY_MM_DD));
        }
    }

    public String getContNo() {
        return contNo;
    }

    public void setContNo(String contNo) {
        this.contNo = contNo;
    }

    public Long getOverdueDay() {
        return overdueDay;
    }

    public void setOverdueDay(Long overdueDay) {
        this.overdueDay = overdueDay;
    }

    public Long getOverdueAmount() {
        return overdueAmount;
    }

    public void setOverdueAmount(Long overdueAmount) {
        this.overdueAmount = overdueAmount;
        if(overdueAmount ==null){
        	overdueAmount = 0L;
		}
        setOverdueAmountYuan(DecimalUtils.convertFenToYuan(overdueAmount));//逾期金额(元)
    }

    public Double getOverdueAmountYuan() {
        return overdueAmountYuan;
    }

    public void setOverdueAmountYuan(Double overdueAmountYuan) {
        this.overdueAmountYuan = overdueAmountYuan;
    }

	public String getQtnType() {
		return qtnType;
	}

	public void setQtnType(String qtnType) {
		this.qtnType = qtnType;
	}

    public Double getEstimateRedeemAmtYuan() {
        return estimateRedeemAmtYuan;
    }

    public void setEstimateRedeemAmtYuan(Double estimateRedeemAmtYuan) {
        this.estimateRedeemAmtYuan = estimateRedeemAmtYuan;
    }

    public Double getActualRedeemAmtYuan() {
        return actualRedeemAmtYuan;
    }

    public void setActualRedeemAmtYuan(Double actualRedeemAmtYuan) {
        this.actualRedeemAmtYuan = actualRedeemAmtYuan;
    }

    public Date getSignTm() {
        return signTm;
    }

    public void setSignTm(Date signTm) {
        this.signTm = signTm;
        if(signTm!=null){
        	setSignTmShow(DateUtils.formatDateToString(signTm, DateUtils.YYYY_MM_DD));
        }
    }

    public String getRansomExecCd() {
        return ransomExecCd;
    }

    public void setRansomExecCd(String ransomExecCd) {
        this.ransomExecCd = ransomExecCd;
    }

	public String getIsPushQus() {
		return isPushQus;
	}

	public void setIsPushQus(String isPushQus) {
		this.isPushQus = isPushQus;
	}

	public String getPushTmShow() {
		return pushTmShow;
	}

	public void setPushTmShow(String pushTmShow) {
		this.pushTmShow = pushTmShow;
	}

	public String getSignTmShow() {
		return signTmShow;
	}

	public void setSignTmShow(String signTmShow) {
		this.signTmShow = signTmShow;
	}

	public Long getEstimateRedeemAmt() {
		return estimateRedeemAmt;
	}

	public void setEstimateRedeemAmt(Long estimateRedeemAmt) {
		this.estimateRedeemAmt = estimateRedeemAmt;
		if(estimateRedeemAmt ==null){
			estimateRedeemAmt = 0L;
		}
		setEstimateRedeemAmtYuan(DecimalUtils.convertFenToYuan(estimateRedeemAmt));
	}

	public Long getActualRedeemAmt() {
		return actualRedeemAmt;
	}

	public void setActualRedeemAmt(Long actualRedeemAmt) {
		this.actualRedeemAmt = actualRedeemAmt;
		if(actualRedeemAmt ==null){
			actualRedeemAmt = 0L;
		}
		setActualRedeemAmtYuan(DecimalUtils.convertFenToYuan(actualRedeemAmt));
	}
    public String getLsDt() {
        return lsDt;
    }

    public void setLsDt(String lsDt) {
        this.lsDt = lsDt;
    }

    public Long getPenaltyAmount() {
        return penaltyAmount;
    }
    public void setPenaltyAmount(Long penaltyAmount) {
        this.penaltyAmount = penaltyAmount;
    }
}
